OpenSync is a plugin-based application that basically provides a framework
for syncing groups which can have two or more members. These members could
be just about any kind of database, where a plugin is available. OpenSync
is not only limited to sync PIM data.

You will need swig if you want to build the python-bindings.
